package com.yanqu.road.entity.activity.drink.config;

import com.yanqu.road.entity.activity.ActivityInfo;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

public class DrinkConfig {

    private ActivityInfo activityInfo;

    // 方块配置
    private Map<Integer, DrinkBlockConfig> blockConfigMap = new ConcurrentHashMap();

    // 订单配置
    private Map<Integer, DrinkOrderConfig> orderConfigMap = new ConcurrentHashMap<>();

    // 连消配置
    private Map<Integer, DrinkScoreConfig> scoreConfigMap = new ConcurrentHashMap<>();

    private int scoreItemId;        // 积分道具ID

    private int energyRecItemId;    // 体力恢复道具ID
    private int maxEnergy;          // 最大体力
    private long energyRecTime;     // 体力恢复时间，毫秒
    private int energyRecCount;     // 体力恢复数量
    private List<Integer> costEnergyList = new ArrayList<>();   // 扣体力数，单倍;多倍

    private List<Integer> blockWeightList = new ArrayList<>();          // 方块额外权重

    private List<Integer> eliminateScoreList = new ArrayList<>();       // 消除方块积分千分比

    private int multiUnlockScore;                                       // 多倍解锁积分
    private int multiUnlockVipLevel;                                    // 多倍解锁VIP等级
    private int fastUnlockVipLevel;                                    // 急速倍解锁VIP等级

    private int guideOrderId;                       // 新手引导订单ID，单倍
    private int[] initBlock = new int[0];           // 新手引导格子，单倍
    private int[] initBlockMulti = new int[0];      // 新手引导格子，多倍
    private int[] initBlockFast = new int[0];       // 新手引导格子，十六倍


    public Map<Integer, DrinkBlockConfig> getBlockConfigMap() {
        return blockConfigMap;
    }

    public void setBlockConfigMap(Map<Integer, DrinkBlockConfig> blockConfigMap) {
        this.blockConfigMap = blockConfigMap;
    }

    public ActivityInfo getActivityInfo() {
        return activityInfo;
    }

    public void setActivityInfo(ActivityInfo activityInfo) {
        this.activityInfo = activityInfo;
    }

    public Map<Integer, DrinkOrderConfig> getOrderConfigMap() {
        return orderConfigMap;
    }

    public void setOrderConfigMap(Map<Integer, DrinkOrderConfig> orderConfigMap) {
        this.orderConfigMap = orderConfigMap;
    }

    public Map<Integer, DrinkScoreConfig> getScoreConfigMap() {
        return scoreConfigMap;
    }

    public void setScoreConfigMap(Map<Integer, DrinkScoreConfig> scoreConfigMap) {
        this.scoreConfigMap = scoreConfigMap;
    }

    public int getScoreItemId() {
        return scoreItemId;
    }

    public void setScoreItemId(int scoreItemId) {
        this.scoreItemId = scoreItemId;
    }

    public int getEnergyRecItemId() {
        return energyRecItemId;
    }

    public void setEnergyRecItemId(int energyRecItemId) {
        this.energyRecItemId = energyRecItemId;
    }

    public int getMaxEnergy() {
        return maxEnergy;
    }

    public void setMaxEnergy(int maxEnergy) {
        this.maxEnergy = maxEnergy;
    }

    public long getEnergyRecTime() {
        return energyRecTime;
    }

    public void setEnergyRecTime(long energyRecTime) {
        this.energyRecTime = energyRecTime;
    }

    public int getEnergyRecCount() {
        return energyRecCount;
    }

    public void setEnergyRecCount(int energyRecCount) {
        this.energyRecCount = energyRecCount;
    }

    public List<Integer> getBlockWeightList() {
        return blockWeightList;
    }

    public void setBlockWeightList(List<Integer> blockWeightList) {
        this.blockWeightList = blockWeightList;
    }

    public List<Integer> getEliminateScoreList() {
        return eliminateScoreList;
    }

    public void setEliminateScoreList(List<Integer> eliminateScoreList) {
        this.eliminateScoreList = eliminateScoreList;
    }

    public int getMultiUnlockScore() {
        return multiUnlockScore;
    }

    public void setMultiUnlockScore(int multiUnlockScore) {
        this.multiUnlockScore = multiUnlockScore;
    }

    public int getGuideOrderId() {
        return guideOrderId;
    }

    public void setGuideOrderId(int guideOrderId) {
        this.guideOrderId = guideOrderId;
    }

    public int[] getInitBlock() {
        return initBlock;
    }

    public void setInitBlock(int[] initBlock) {
        this.initBlock = initBlock;
    }

    public int[] getInitBlockMulti() {
        return initBlockMulti;
    }

    public void setInitBlockMulti(int[] initBlockMulti) {
        this.initBlockMulti = initBlockMulti;
    }

    public int[] getInitBlockFast() {
        return initBlockFast;
    }

    public void setInitBlockFast(int[] initBlockFast) {
        this.initBlockFast = initBlockFast;
    }

    public int getMultiUnlockVipLevel() {
        return multiUnlockVipLevel;
    }

    public void setMultiUnlockVipLevel(int multiUnlockVipLevel) {
        this.multiUnlockVipLevel = multiUnlockVipLevel;
    }

    public int getFastUnlockVipLevel() {
        return fastUnlockVipLevel;
    }

    public void setFastUnlockVipLevel(int fastUnlockVipLevel) {
        this.fastUnlockVipLevel = fastUnlockVipLevel;
    }

    public List<Integer> getCostEnergyList() {
        return costEnergyList;
    }

    public void setCostEnergyList(List<Integer> costEnergyList) {
        this.costEnergyList = costEnergyList;
    }
}
